{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 共享单车预测---线性回归分析\n",
    "\n",
    "在Capital Bikeshare （美国Washington, D.C.的一个共享单车公司）提供的自行车数据上进行回归分析。训练数据为2011年的数据，要求预测2012年每天的单车共享数量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## 1、数据加载\n",
    "\n",
    "### 1.1 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 454,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
      "0        1  2011-01-01       1   0     1        0        6           0   \n",
      "1        2  2011-01-02       1   0     1        0        0           0   \n",
      "2        3  2011-01-03       1   0     1        0        1           1   \n",
      "3        4  2011-01-04       1   0     1        0        2           1   \n",
      "4        5  2011-01-05       1   0     1        0        3           1   \n",
      "\n",
      "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
      "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
      "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
      "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
      "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
      "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
      "\n",
      "    cnt  \n",
      "0   985  \n",
      "1   801  \n",
      "2  1349  \n",
      "3  1562  \n",
      "4  1600  \n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 16 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "casual        731 non-null int64\n",
      "registered    731 non-null int64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(11), object(1)\n",
      "memory usage: 91.5+ KB\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "data = pd.read_csv(\"day.csv\")\n",
    "#print (data.describe())\n",
    "print (data.head(5))\n",
    "print (data.info())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 数据集基本信息\n",
    "可以看到这个数据集有731条记录。16个数据特征，数据类型基本是数字类型。没有缺失值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2、数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 455,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          instant      season          yr        mnth     holiday     weekday  \\\n",
      "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
      "mean   366.000000    2.496580    0.500684    6.519836    0.028728    2.997264   \n",
      "std    211.165812    1.110807    0.500342    3.451913    0.167155    2.004787   \n",
      "min      1.000000    1.000000    0.000000    1.000000    0.000000    0.000000   \n",
      "25%    183.500000    2.000000    0.000000    4.000000    0.000000    1.000000   \n",
      "50%    366.000000    3.000000    1.000000    7.000000    0.000000    3.000000   \n",
      "75%    548.500000    3.000000    1.000000   10.000000    0.000000    5.000000   \n",
      "max    731.000000    4.000000    1.000000   12.000000    1.000000    6.000000   \n",
      "\n",
      "       workingday  weathersit        temp       atemp         hum   windspeed  \\\n",
      "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
      "mean     0.683995    1.395349    0.495385    0.474354    0.627894    0.190486   \n",
      "std      0.465233    0.544894    0.183051    0.162961    0.142429    0.077498   \n",
      "min      0.000000    1.000000    0.059130    0.079070    0.000000    0.022392   \n",
      "25%      0.000000    1.000000    0.337083    0.337842    0.520000    0.134950   \n",
      "50%      1.000000    1.000000    0.498333    0.486733    0.626667    0.180975   \n",
      "75%      1.000000    2.000000    0.655417    0.608602    0.730209    0.233214   \n",
      "max      1.000000    3.000000    0.861667    0.840896    0.972500    0.507463   \n",
      "\n",
      "            casual   registered          cnt  \n",
      "count   731.000000   731.000000   731.000000  \n",
      "mean    848.176471  3656.172367  4504.348837  \n",
      "std     686.622488  1560.256377  1937.211452  \n",
      "min       2.000000    20.000000    22.000000  \n",
      "25%     315.500000  2497.000000  3152.000000  \n",
      "50%     713.000000  3662.000000  4548.000000  \n",
      "75%    1096.000000  4776.500000  5956.000000  \n",
      "max    3410.000000  6946.000000  8714.000000  \n"
     ]
    }
   ],
   "source": [
    "print (data.describe())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 初步分析\n",
    "从数据的整体情况来看看，instant的方差比较大，这列含义是记录号。并没有实际的业务含义；同时dteday这一列表示记录的日期，也没有实际的业务含义。所以这两列都可以去除。另外，\n",
    "casual、regustered、cnt这三列是需要预测的列。本次分析只需要预测cnt这一列。所以替他两列也可以去除"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 把2012年的数据作为测试集的数据从原始数据集中拆分出来"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 456,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "test_data = (data.loc[data['yr'] == 1])\n",
    "train_data = (data.loc[data['yr'] == 0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3 拆分训练集、测试集的特征和预测值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 457,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     season  yr  mnth  holiday  weekday  workingday  weathersit      temp  \\\n",
      "0         1   0     1        0        6           0           2  0.344167   \n",
      "1         1   0     1        0        0           0           2  0.363478   \n",
      "2         1   0     1        0        1           1           1  0.196364   \n",
      "3         1   0     1        0        2           1           1  0.200000   \n",
      "4         1   0     1        0        3           1           1  0.226957   \n",
      "5         1   0     1        0        4           1           1  0.204348   \n",
      "6         1   0     1        0        5           1           2  0.196522   \n",
      "7         1   0     1        0        6           0           2  0.165000   \n",
      "8         1   0     1        0        0           0           1  0.138333   \n",
      "9         1   0     1        0        1           1           1  0.150833   \n",
      "10        1   0     1        0        2           1           2  0.169091   \n",
      "11        1   0     1        0        3           1           1  0.172727   \n",
      "12        1   0     1        0        4           1           1  0.165000   \n",
      "13        1   0     1        0        5           1           1  0.160870   \n",
      "14        1   0     1        0        6           0           2  0.233333   \n",
      "15        1   0     1        0        0           0           1  0.231667   \n",
      "16        1   0     1        1        1           0           2  0.175833   \n",
      "17        1   0     1        0        2           1           2  0.216667   \n",
      "18        1   0     1        0        3           1           2  0.292174   \n",
      "19        1   0     1        0        4           1           2  0.261667   \n",
      "20        1   0     1        0        5           1           1  0.177500   \n",
      "21        1   0     1        0        6           0           1  0.059130   \n",
      "22        1   0     1        0        0           0           1  0.096522   \n",
      "23        1   0     1        0        1           1           1  0.097391   \n",
      "24        1   0     1        0        2           1           2  0.223478   \n",
      "25        1   0     1        0        3           1           3  0.217500   \n",
      "26        1   0     1        0        4           1           1  0.195000   \n",
      "27        1   0     1        0        5           1           2  0.203478   \n",
      "28        1   0     1        0        6           0           1  0.196522   \n",
      "29        1   0     1        0        0           0           1  0.216522   \n",
      "..      ...  ..   ...      ...      ...         ...         ...       ...   \n",
      "335       4   0    12        0        5           1           1  0.314167   \n",
      "336       4   0    12        0        6           0           1  0.299167   \n",
      "337       4   0    12        0        0           0           1  0.330833   \n",
      "338       4   0    12        0        1           1           2  0.385833   \n",
      "339       4   0    12        0        2           1           3  0.462500   \n",
      "340       4   0    12        0        3           1           3  0.410000   \n",
      "341       4   0    12        0        4           1           1  0.265833   \n",
      "342       4   0    12        0        5           1           1  0.290833   \n",
      "343       4   0    12        0        6           0           1  0.275000   \n",
      "344       4   0    12        0        0           0           1  0.220833   \n",
      "345       4   0    12        0        1           1           1  0.238333   \n",
      "346       4   0    12        0        2           1           1  0.282500   \n",
      "347       4   0    12        0        3           1           2  0.317500   \n",
      "348       4   0    12        0        4           1           2  0.422500   \n",
      "349       4   0    12        0        5           1           2  0.375000   \n",
      "350       4   0    12        0        6           0           2  0.258333   \n",
      "351       4   0    12        0        0           0           1  0.238333   \n",
      "352       4   0    12        0        1           1           1  0.276667   \n",
      "353       4   0    12        0        2           1           2  0.385833   \n",
      "354       1   0    12        0        3           1           2  0.428333   \n",
      "355       1   0    12        0        4           1           2  0.423333   \n",
      "356       1   0    12        0        5           1           1  0.373333   \n",
      "357       1   0    12        0        6           0           1  0.302500   \n",
      "358       1   0    12        0        0           0           1  0.274783   \n",
      "359       1   0    12        1        1           0           1  0.321739   \n",
      "360       1   0    12        0        2           1           2  0.325000   \n",
      "361       1   0    12        0        3           1           1  0.299130   \n",
      "362       1   0    12        0        4           1           1  0.248333   \n",
      "363       1   0    12        0        5           1           1  0.311667   \n",
      "364       1   0    12        0        6           0           1  0.410000   \n",
      "\n",
      "        atemp       hum  windspeed  \n",
      "0    0.363625  0.805833   0.160446  \n",
      "1    0.353739  0.696087   0.248539  \n",
      "2    0.189405  0.437273   0.248309  \n",
      "3    0.212122  0.590435   0.160296  \n",
      "4    0.229270  0.436957   0.186900  \n",
      "5    0.233209  0.518261   0.089565  \n",
      "6    0.208839  0.498696   0.168726  \n",
      "7    0.162254  0.535833   0.266804  \n",
      "8    0.116175  0.434167   0.361950  \n",
      "9    0.150888  0.482917   0.223267  \n",
      "10   0.191464  0.686364   0.122132  \n",
      "11   0.160473  0.599545   0.304627  \n",
      "12   0.150883  0.470417   0.301000  \n",
      "13   0.188413  0.537826   0.126548  \n",
      "14   0.248112  0.498750   0.157963  \n",
      "15   0.234217  0.483750   0.188433  \n",
      "16   0.176771  0.537500   0.194017  \n",
      "17   0.232333  0.861667   0.146775  \n",
      "18   0.298422  0.741739   0.208317  \n",
      "19   0.255050  0.538333   0.195904  \n",
      "20   0.157833  0.457083   0.353242  \n",
      "21   0.079070  0.400000   0.171970  \n",
      "22   0.098839  0.436522   0.246600  \n",
      "23   0.117930  0.491739   0.158330  \n",
      "24   0.234526  0.616957   0.129796  \n",
      "25   0.203600  0.862500   0.293850  \n",
      "26   0.219700  0.687500   0.113837  \n",
      "27   0.223317  0.793043   0.123300  \n",
      "28   0.212126  0.651739   0.145365  \n",
      "29   0.250322  0.722174   0.073983  \n",
      "..        ...       ...        ...  \n",
      "335  0.331433  0.625833   0.100754  \n",
      "336  0.310604  0.612917   0.095783  \n",
      "337  0.349100  0.775833   0.083958  \n",
      "338  0.393925  0.827083   0.062208  \n",
      "339  0.456400  0.949583   0.232583  \n",
      "340  0.400246  0.970417   0.266175  \n",
      "341  0.256938  0.580000   0.240058  \n",
      "342  0.317542  0.695833   0.082717  \n",
      "343  0.266412  0.507500   0.233221  \n",
      "344  0.253154  0.490000   0.066542  \n",
      "345  0.270196  0.670833   0.063450  \n",
      "346  0.301138  0.590000   0.140550  \n",
      "347  0.338362  0.663750   0.060958  \n",
      "348  0.412237  0.634167   0.268042  \n",
      "349  0.359825  0.500417   0.260575  \n",
      "350  0.249371  0.560833   0.243167  \n",
      "351  0.245579  0.586250   0.169779  \n",
      "352  0.280933  0.637500   0.172896  \n",
      "353  0.396454  0.595417   0.061571  \n",
      "354  0.428017  0.858333   0.221400  \n",
      "355  0.426121  0.757500   0.047275  \n",
      "356  0.377513  0.686250   0.274246  \n",
      "357  0.299242  0.542500   0.190304  \n",
      "358  0.279961  0.681304   0.155091  \n",
      "359  0.315535  0.506957   0.239465  \n",
      "360  0.327633  0.762500   0.188450  \n",
      "361  0.279974  0.503913   0.293961  \n",
      "362  0.263892  0.574167   0.119412  \n",
      "363  0.318812  0.636667   0.134337  \n",
      "364  0.414121  0.615833   0.220154  \n",
      "\n",
      "[365 rows x 11 columns]\n",
      "     season  yr  mnth  holiday  weekday  workingday  weathersit      temp  \\\n",
      "365       1   1     1        0        0           0           1  0.370000   \n",
      "366       1   1     1        1        1           0           1  0.273043   \n",
      "367       1   1     1        0        2           1           1  0.150000   \n",
      "368       1   1     1        0        3           1           2  0.107500   \n",
      "369       1   1     1        0        4           1           1  0.265833   \n",
      "370       1   1     1        0        5           1           1  0.334167   \n",
      "371       1   1     1        0        6           0           1  0.393333   \n",
      "372       1   1     1        0        0           0           1  0.337500   \n",
      "373       1   1     1        0        1           1           2  0.224167   \n",
      "374       1   1     1        0        2           1           1  0.308696   \n",
      "375       1   1     1        0        3           1           2  0.274167   \n",
      "376       1   1     1        0        4           1           2  0.382500   \n",
      "377       1   1     1        0        5           1           1  0.274167   \n",
      "378       1   1     1        0        6           0           1  0.180000   \n",
      "379       1   1     1        0        0           0           1  0.166667   \n",
      "380       1   1     1        1        1           0           1  0.190000   \n",
      "381       1   1     1        0        2           1           2  0.373043   \n",
      "382       1   1     1        0        3           1           1  0.303333   \n",
      "383       1   1     1        0        4           1           1  0.190000   \n",
      "384       1   1     1        0        5           1           2  0.217500   \n",
      "385       1   1     1        0        6           0           2  0.173333   \n",
      "386       1   1     1        0        0           0           2  0.162500   \n",
      "387       1   1     1        0        1           1           2  0.218333   \n",
      "388       1   1     1        0        2           1           1  0.342500   \n",
      "389       1   1     1        0        3           1           1  0.294167   \n",
      "390       1   1     1        0        4           1           2  0.341667   \n",
      "391       1   1     1        0        5           1           2  0.425000   \n",
      "392       1   1     1        0        6           0           1  0.315833   \n",
      "393       1   1     1        0        0           0           1  0.282500   \n",
      "394       1   1     1        0        1           1           1  0.269167   \n",
      "..      ...  ..   ...      ...      ...         ...         ...       ...   \n",
      "701       4   1    12        0        0           0           2  0.347500   \n",
      "702       4   1    12        0        1           1           1  0.452500   \n",
      "703       4   1    12        0        2           1           1  0.475833   \n",
      "704       4   1    12        0        3           1           1  0.438333   \n",
      "705       4   1    12        0        4           1           1  0.255833   \n",
      "706       4   1    12        0        5           1           2  0.320833   \n",
      "707       4   1    12        0        6           0           2  0.381667   \n",
      "708       4   1    12        0        0           0           2  0.384167   \n",
      "709       4   1    12        0        1           1           2  0.435833   \n",
      "710       4   1    12        0        2           1           2  0.353333   \n",
      "711       4   1    12        0        3           1           2  0.297500   \n",
      "712       4   1    12        0        4           1           1  0.295833   \n",
      "713       4   1    12        0        5           1           1  0.281667   \n",
      "714       4   1    12        0        6           0           1  0.324167   \n",
      "715       4   1    12        0        0           0           2  0.362500   \n",
      "716       4   1    12        0        1           1           2  0.393333   \n",
      "717       4   1    12        0        2           1           1  0.410833   \n",
      "718       4   1    12        0        3           1           1  0.332500   \n",
      "719       4   1    12        0        4           1           2  0.330000   \n",
      "720       1   1    12        0        5           1           2  0.326667   \n",
      "721       1   1    12        0        6           0           1  0.265833   \n",
      "722       1   1    12        0        0           0           1  0.245833   \n",
      "723       1   1    12        0        1           1           2  0.231304   \n",
      "724       1   1    12        1        2           0           2  0.291304   \n",
      "725       1   1    12        0        3           1           3  0.243333   \n",
      "726       1   1    12        0        4           1           2  0.254167   \n",
      "727       1   1    12        0        5           1           2  0.253333   \n",
      "728       1   1    12        0        6           0           2  0.253333   \n",
      "729       1   1    12        0        0           0           1  0.255833   \n",
      "730       1   1    12        0        1           1           2  0.215833   \n",
      "\n",
      "        atemp       hum  windspeed  \n",
      "365  0.375621  0.692500   0.192167  \n",
      "366  0.252304  0.381304   0.329665  \n",
      "367  0.126275  0.441250   0.365671  \n",
      "368  0.119337  0.414583   0.184700  \n",
      "369  0.278412  0.524167   0.129987  \n",
      "370  0.340267  0.542083   0.167908  \n",
      "371  0.390779  0.531667   0.174758  \n",
      "372  0.340258  0.465000   0.191542  \n",
      "373  0.247479  0.701667   0.098900  \n",
      "374  0.318826  0.646522   0.187552  \n",
      "375  0.282821  0.847500   0.131221  \n",
      "376  0.381938  0.802917   0.180967  \n",
      "377  0.249362  0.507500   0.378108  \n",
      "378  0.183087  0.457500   0.187183  \n",
      "379  0.161625  0.419167   0.251258  \n",
      "380  0.190663  0.522500   0.231358  \n",
      "381  0.364278  0.716087   0.349130  \n",
      "382  0.275254  0.443333   0.415429  \n",
      "383  0.190038  0.497500   0.220158  \n",
      "384  0.220958  0.450000   0.202750  \n",
      "385  0.174875  0.831250   0.222642  \n",
      "386  0.162250  0.796250   0.199638  \n",
      "387  0.243058  0.911250   0.110708  \n",
      "388  0.349108  0.835833   0.123767  \n",
      "389  0.294821  0.643750   0.161071  \n",
      "390  0.356050  0.769583   0.073396  \n",
      "391  0.415383  0.741250   0.342667  \n",
      "392  0.326379  0.543333   0.210829  \n",
      "393  0.272721  0.311250   0.240050  \n",
      "394  0.262625  0.400833   0.215792  \n",
      "..        ...       ...        ...  \n",
      "701  0.359208  0.823333   0.124379  \n",
      "702  0.455796  0.767500   0.082721  \n",
      "703  0.469054  0.733750   0.174129  \n",
      "704  0.428012  0.485000   0.324021  \n",
      "705  0.258204  0.508750   0.174754  \n",
      "706  0.321958  0.764167   0.130600  \n",
      "707  0.389508  0.911250   0.101379  \n",
      "708  0.390146  0.905417   0.157975  \n",
      "709  0.435575  0.925000   0.190308  \n",
      "710  0.338363  0.596667   0.296037  \n",
      "711  0.297338  0.538333   0.162937  \n",
      "712  0.294188  0.485833   0.174129  \n",
      "713  0.294192  0.642917   0.131229  \n",
      "714  0.338383  0.650417   0.106350  \n",
      "715  0.369938  0.838750   0.100742  \n",
      "716  0.401500  0.907083   0.098258  \n",
      "717  0.409708  0.666250   0.221404  \n",
      "718  0.342162  0.625417   0.184092  \n",
      "719  0.335217  0.667917   0.132463  \n",
      "720  0.301767  0.556667   0.374383  \n",
      "721  0.236113  0.441250   0.407346  \n",
      "722  0.259471  0.515417   0.133083  \n",
      "723  0.258900  0.791304   0.077230  \n",
      "724  0.294465  0.734783   0.168726  \n",
      "725  0.220333  0.823333   0.316546  \n",
      "726  0.226642  0.652917   0.350133  \n",
      "727  0.255046  0.590000   0.155471  \n",
      "728  0.242400  0.752917   0.124383  \n",
      "729  0.231700  0.483333   0.350754  \n",
      "730  0.223487  0.577500   0.154846  \n",
      "\n",
      "[366 rows x 11 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  import sys\n"
     ]
    }
   ],
   "source": [
    "train_y = train_data['cnt'].values\n",
    "train_data.drop(train_data.columns[0:2], axis = 1,inplace=True)\n",
    "train_data.drop(train_data.columns[-3:], axis = 1,inplace=True)\n",
    "\n",
    "test_y = test_data['cnt'].values\n",
    "test_data.drop(test_data.columns[0:2], axis = 1,inplace=True)\n",
    "test_data.drop(test_data.columns[-3:], axis = 1,inplace=True)\n",
    "\n",
    "print (train_data)\n",
    "print (test_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4 单变量分析\n",
    "#### 2.4.1 预测值的直方图分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 458,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d34707b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "flg = plt.figure()\n",
    "sns.distplot(train_y,bins = 30,kde=False)\n",
    "plt.xlabel('cnt disribute', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.4.2  单特征变量的直方图\n",
    "季节的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 440,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfd42e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['season'].values, kde=False)\n",
    "plt.xlabel('season', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "月份的统计，月份( 1 to 12)\n",
    "1到12月，每月的用车数量差异不很大"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 441,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAENCAYAAAAfTp5aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAADulJREFUeJzt3X+M5PVdx/HnqxyEtqCAbMmVHz2s\nFCFNezQbREkaLEXpL6DRalHJGTHXP2gLBn9Q/ENMjMFIQW2bmmuhnEppCT8CrVB7Ig0SK7oHCEev\nlYqUHlzvtkEKpQY8ePvHfM8s525ndn7csB+ej2SyM9/9zsz7eyzPfPe7M99JVSFJWvleMe0BJEnj\nYdAlqREGXZIaYdAlqREGXZIaYdAlqREGXZIaYdAlqREGXZIasWpvPtmhhx5aa9as2ZtPKUkr3ubN\nm79bVTP91turQV+zZg1zc3N78yklacVL8q1B1vOQiyQ1wqBLUiMMuiQ1wqBLUiMMuiQ1wqBLUiMM\nuiQ1wqBLUiMMuiQ1Yq++U3QUn7370YHW+5WfOmrCk4zObVm5Bt1eGP82t/Rv3cq2TPPnYTHuoUtS\nIwy6JDWib9CT7J/kX5L8W5IHk/xht/zoJHcneSjJ55PsN/lxJUlLGWQP/VngbVX1ZmAtcHqSk4A/\nAa6oqmOA/wLOndyYkqR++ga9er7f3dy3uxTwNuD6bvlG4KyJTChJGshAr3JJsg+wGfgJ4BPAfwBP\nVtWubpVtwOFL3Hc9sB7gqKNe2n+xbl0rryyAtrZlWl6O/4atb/NAfxStquerai1wBHAicNxiqy1x\n3w1VNVtVszMzfT9wQ5I0pGW9yqWqngS+ApwEHJRk9x7+EcDj4x1NkrQcg7zKZSbJQd31VwJvB7YC\ndwC/2K22Drh5UkNKkvob5Bj6amBjdxz9FcB1VfXFJF8DPpfkj4B7gSsnOKckqY++Qa+q+4ETFln+\nML3j6ZKklwDfKSpJjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktSIFfOZouP2UvssQEka\nlXvoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDo\nktQIgy5JjTDoktSIvkFPcmSSO5JsTfJgkvO75ZckeSzJfd3lnZMfV5K0lEE+4GIXcGFV3ZPkQGBz\nkk3d966oqssmN54kaVB9g15V24Ht3fWnk2wFDp/0YJKk5VnWMfQka4ATgLu7RR9Mcn+Sq5IcPObZ\nJEnLMHDQkxwA3ABcUFVPAZ8EXg+spbcH/9El7rc+yVySufn5+TGMLElazEBBT7IvvZhfU1U3AlTV\njqp6vqpeAD4FnLjYfatqQ1XNVtXszMzMuOaWJO1hkFe5BLgS2FpVly9YvnrBau8Ftox/PEnSoAZ5\nlcvJwDnAA0nu65ZdDJydZC1QwCPAByYyoSRpIIO8yuUuIIt869bxjyNJGpbvFJWkRhh0SWqEQZek\nRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0\nSWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZekRvQNepIjk9yRZGuSB5Oc\n3y0/JMmmJA91Xw+e/LiSpKUMsoe+C7iwqo4DTgLOS3I8cBFwe1UdA9ze3ZYkTUnfoFfV9qq6p7v+\nNLAVOBw4E9jYrbYROGtSQ0qS+lvWMfQka4ATgLuBw6pqO/SiD7xmifusTzKXZG5+fn60aSVJSxo4\n6EkOAG4ALqiqpwa9X1VtqKrZqpqdmZkZZkZJ0gAGCnqSfenF/JqqurFbvCPJ6u77q4GdkxlRkjSI\nQV7lEuBKYGtVXb7gW7cA67rr64Cbxz+eJGlQqwZY52TgHOCBJPd1yy4GLgWuS3Iu8CjwvsmMKEka\nRN+gV9VdQJb49qnjHUeSNCzfKSpJjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5J\njTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDo\nktQIgy5JjTDoktSIvkFPclWSnUm2LFh2SZLHktzXXd452TElSf0Msod+NXD6IsuvqKq13eXW8Y4l\nSVquvkGvqjuBJ/bCLJKkEYxyDP2DSe7vDskcPLaJJElDGTbonwReD6wFtgMfXWrFJOuTzCWZm5+f\nH/LpJEn9DBX0qtpRVc9X1QvAp4ATf8i6G6pqtqpmZ2Zmhp1TktTHUEFPsnrBzfcCW5ZaV5K0d6zq\nt0KSa4FTgEOTbAP+ADglyVqggEeAD0xwRknSAPoGvarOXmTxlROYRZI0At8pKkmNMOiS1AiDLkmN\nMOiS1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS\n1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS1AiDLkmNMOiS1Ii+QU9yVZKdSbYsWHZIkk1JHuq+\nHjzZMSVJ/Qyyh341cPoeyy4Cbq+qY4Dbu9uSpCnqG/SquhN4Yo/FZwIbu+sbgbPGPJckaZmGPYZ+\nWFVtB+i+vmZ8I0mShjHxP4omWZ9kLsnc/Pz8pJ9Okl62hg36jiSrAbqvO5dasao2VNVsVc3OzMwM\n+XSSpH6GDfotwLru+jrg5vGMI0ka1iAvW7wW+CpwbJJtSc4FLgVOS/IQcFp3W5I0Rav6rVBVZy/x\nrVPHPIskaQS+U1SSGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2S\nGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQ\nJakRBl2SGrFqlDsneQR4Gnge2FVVs+MYSpK0fCMFvfOzVfXdMTyOJGkEHnKRpEaMGvQCvpxkc5L1\ni62QZH2SuSRz8/PzIz6dJGkpowb95Kp6C/AO4Lwkb91zharaUFWzVTU7MzMz4tNJkpYyUtCr6vHu\n607gJuDEcQwlSVq+oYOe5NVJDtx9Hfg5YMu4BpMkLc8or3I5DLgpye7H+WxVfWksU0mSlm3ooFfV\nw8CbxziLJGkEvmxRkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZd\nkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph0CWpEQZdkhph\n0CWpESMFPcnpSb6R5JtJLhrXUJKk5Rs66En2AT4BvAM4Hjg7yfHjGkyStDyj7KGfCHyzqh6uqueA\nzwFnjmcsSdJyjRL0w4FvL7i9rVsmSZqCVNVwd0zeB/x8Vf1md/sc4MSq+tAe660H1nc3jwW+Mfy4\ne9WhwHenPcSEtLxt0Pb2uW0r1yjb97qqmum30qohHxx6e+RHLrh9BPD4nitV1QZgwwjPMxVJ5qpq\ndtpzTELL2wZtb5/btnLtje0b5ZDLvwLHJDk6yX7A+4FbxjOWJGm5ht5Dr6pdST4I/B2wD3BVVT04\ntskkScsyyiEXqupW4NYxzfJSs+IOEy1Dy9sGbW+f27ZyTXz7hv6jqCTppcW3/ktSIwz6AkmOTHJH\nkq1JHkxy/rRnGrck+yS5N8kXpz3LuCU5KMn1Sb7e/Tf86WnPNC5Jfqv7mdyS5Nok+097plEkuSrJ\nziRbFiw7JMmmJA91Xw+e5ozDWmLb/rT7ubw/yU1JDprEcxv0F9sFXFhVxwEnAec1eDqD84Gt0x5i\nQv4c+FJV/STwZhrZziSHAx8GZqvqjfRehPD+6U41squB0/dYdhFwe1UdA9ze3V6Jrub/b9sm4I1V\n9Sbg34GPTOKJDfoCVbW9qu7prj9NLwjNvPs1yRHAu4BPT3uWcUvyI8BbgSsBquq5qnpyulON1Srg\nlUlWAa9ikfd8rCRVdSfwxB6LzwQ2dtc3Amft1aHGZLFtq6ovV9Wu7uY/03vfztgZ9CUkWQOcANw9\n3UnG6s+A3wVemPYgE/DjwDzwme6Q0qeTvHraQ41DVT0GXAY8CmwHvldVX57uVBNxWFVth97OFfCa\nKc8zKb8B3DaJBzboi0hyAHADcEFVPTXtecYhybuBnVW1edqzTMgq4C3AJ6vqBOAZVu6v7C/SHUs+\nEzgaeC3w6iS/Nt2pNIwkv0/v0O41k3h8g76HJPvSi/k1VXXjtOcZo5OBM5I8Qu/MmG9L8jfTHWms\ntgHbqmr3b1TX0wt8C94O/GdVzVfV/wA3Aj8z5ZkmYUeS1QDd151TnmeskqwD3g38ak3o9eIGfYEk\noXcMdmtVXT7tecapqj5SVUdU1Rp6f1D7h6pqZi+vqr4DfDvJsd2iU4GvTXGkcXoUOCnJq7qf0VNp\n5A++e7gFWNddXwfcPMVZxirJ6cDvAWdU1Q8m9TwG/cVOBs6ht/d6X3d557SH0sA+BFyT5H5gLfDH\nU55nLLrfOq4H7gEeoPf/7Yp+V2WSa4GvAscm2ZbkXOBS4LQkDwGndbdXnCW27ePAgcCmrit/OZHn\n9p2iktQG99AlqREGXZIaYdAlqREGXZIaYdAlqREGXRpCkksae2OWGmDQpT6SnJJk27TnkPox6JLU\nCIOuFS3JI0l+p/vggGeSXJnksCS3JXk6yd/v/qCEJGd0HxLxZJKvJDluj8f57e5xvpfk80n2787Y\neBvw2iTf7y6v7e62X5K/6p7nwSSzU/gnkP6PQVcLfoHeW8XfALyHXoAvBg6l9zP+4SRvAK4FLgBm\n6H24+ReS7LfgcX6J3gcTHA28Cfj1qnoGeAfweFUd0F12n4v8DHonOjuI3nlIPj7RrZT6MOhqwceq\nakd33vB/BO6uqnur6lngJnrntf9l4G+ralN3xsLLgFfy4rMW/kVVPV5VTwBfoHc+mB/mrqq6taqe\nB/6a3qckSVNj0NWCHQuu//citw+gdx7xb+1eWFUvAN/mxZ9I9Z0F13/Q3e+H2XP9/btPFJKmwqDr\n5eJx4HW7b3SnoT0SeGyA+3oGO60IBl0vF9cB70pyavchJhcCzwL/NMB9dwA/luRHJzmgNCp/PdTL\nQlV9o/vYto/RO8xyH/CeqnpugPt+vTvH9cNJ9gGOn+y00nA8H7okNcJDLpLUCIMuSY0w6JLUCIMu\nSY0w6JLUCIMuSY0w6JLUCIMuSY0w6JLUiP8FKFGgJDc4TRwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfb0c668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['mnth'].values, bins= 30, kde=False)\n",
    "plt.xlabel('month', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " 节假日统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 442,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\npSYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfadbf28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['holiday'].values, bins= 30, kde=False)\n",
    "plt.xlabel('holiday', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一周当中星期几的统计，取值为0～6\n",
    "周一到周天的用车数量差不多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 443,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAENCAYAAAAfTp5aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAD9lJREFUeJzt3X+QXXV9h/HnbQKooEZlYVKCRseI\noh3BbqNO6i/wBx0YyR9oRcVoaTOj1mJtq+hMq3Y6HZ1p1X/aOilIYytCCjJQaq0pv9SOohtBAaNC\nMwhpIlkLFLCtDvLpH/fQrtvEe/fu3ty9X57XTGbvOXvu3s+B4eHk7L3npKqQJE2+R417AEnS0jDo\nktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjTDoktQIgy5JjVh5MF/syCOPrLVr1x7Ml5Skibdjx44f\nVtVUv+0OatDXrl3LzMzMwXxJSZp4Sb4/yHaecpGkRhh0SWqEQZekRhh0SWqEQZekRhh0SWqEQZek\nRhh0SWqEQZekRhzUT4pKUksuvP6OgbZ7wwueMuJJejxCl6RGGHRJaoRBl6RGTMw59OV2rmoxWtmX\nQfcD2tmX5b4f4L48knmELkmNMOiS1AiDLkmNGOgcepLbgfuBnwIPVtV0kicBFwNrgduB11XVPaMZ\nU5LUz0KO0F9eVSdU1XS3fC5wVVWtA67qliVJY7KYUy6nA1u7x1uBjYsfR5I0rEGDXsAXkuxIsrlb\nd3RV7QXovh61vycm2ZxkJsnM7Ozs4ieWJO3XoO9D31BVe5IcBWxP8p1BX6CqtgBbAKanp2uIGSVJ\nAxjoCL2q9nRf9wGXAeuBu5KsBui+7hvVkJKk/voGPcnhSR738GPgVcDNwBXApm6zTcDloxpSktTf\nIKdcjgYuS/Lw9hdW1eeTfB3YluRs4A7gtaMbU5LUT9+gV9Uu4Hn7Wf/vwMmjGEqStHB+UlSSGmHQ\nJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakR\nBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2SGmHQJakRBl2S\nGmHQJakRBl2SGmHQJakRAwc9yYokNyS5slt+WpLrk9ya5OIkh45uTElSPws5Qj8H2Dln+SPAx6pq\n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\nYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d49b77f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['weekday'].values, bins= 30, kde=False)\n",
    "plt.xlabel('weekday', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "是否工作日的统计\n",
    "1=工作日 （非周末和节假日）\n",
    "0=周末\n",
    "工作日用车的人多一些"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 444,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cda95a58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['workingday'].values, bins= 30, kde=False)\n",
    "plt.xlabel('workingday', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "天气的统计，\n",
    "1：晴天，多云\n",
    "2：雾天，阴天\n",
    "3：小雪，小雨\n",
    "4：大雨，大雪，大雾  \n",
    "可以看出晴天和阴天的用车的人多。天气的影响还是很明显的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 445,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nSwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d4966dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['weathersit'].values, bins= 30, kde=False)\n",
    "plt.xlabel('weathersit', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "气温摄氏度的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 446,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAENCAYAAAAfTp5aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAADvhJREFUeJzt3XusbGddxvHvQ48Ey0UK3RguPRwg\nBa2EBNwKiiGVi9Yqt1i1xRKqyIlECyqCKBiIkoBiuCTyz5FbhXLRQkKBinJpQ0DacHrh0lYuLaVU\nsC0gIN6g8vOPmeL2cE7PzKy1Z6/z6/eT7JyZ2e+e9cyavZ+uvjOz3lQVkqQj3212OoAkaRwWuiQ1\nYaFLUhMWuiQ1YaFLUhMWuiQ1YaFLUhMWuiQ1YaFLUhO71rmxY489tvbs2bPOTUrSEe/iiy/+clVt\nHG7cWgt9z5497N+/f52blKQjXpLPLzLOKRdJasJCl6QmLHRJasJCl6QmLHRJauKwhZ7ktUluSPLJ\nLbfdJcl7k3xm/u8x2xtTknQ4ixyhvx446YDbngu8v6qOB94/vy5J2kGHLfSq+iDw1QNufjxw1vzy\nWcATRs4lSVrSqnPoP1hVXwKY/3u38SJJklax7Z8UTbIX2Auwe/fu7d6cpIHedNG13738pIeu9292\nJ7fdwapH6NcnuTvA/N8bDjWwqvZV1WZVbW5sHPZUBJKkFa1a6OcCT5lffgrwjnHiSJJWtcjbFt8M\nfAR4QJLrkjwVeAnwmCSfAR4zvy5J2kGHnUOvqtMO8a1HjZxFkjSAnxSVpCYsdElqwkKXpCYsdElq\nwkKXpCYsdElqwkKXpCYsdElqwkKXpCYsdElqwkKXpCYsdElqwkKXpCYsdElqwkKXpCa2fU1R9THF\n9R6nmEnaKR6hS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1IT\nFrokNWGhS1ITFrokNWGhS1ITFrokNTGo0JP8bpLLk3wyyZuT3G6sYJKk5axc6EnuCTwD2KyqBwJH\nAaeOFUyStJyhUy67gO9Psgs4Gvji8EiSpFWsXOhV9c/AXwDXAl8Cvl5V/zBWMEnScoZMuRwDPB64\nD3AP4PZJTj/IuL1J9ifZf+ONN66eVNIR5U0XXfvdL63HkCmXRwOfq6obq+rbwNuBnzxwUFXtq6rN\nqtrc2NgYsDlJ0i0ZUujXAg9LcnSSAI8CrhwnliRpWUPm0C8CzgEuAT4xv699I+WSJC1p15AfrqoX\nAC8YKYskaQA/KSpJTVjoktSEhS5JTVjoktSEhS5JTVjoktSEhS5JTVjoktSEhS5JTVjoktSEhS5J\nTVjoktSEhS5JTVjoktSEhS5JTVjoktTEoAUuNF1bF+Z90kN3r+1nx7TOHOt+zIdaOHkn9/fUbMdz\nMpXf7e3iEbokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGh\nS1ITFrokNWGhS1ITFrokNWGhS1ITgwo9yZ2TnJPkn5JcmeQnxgomSVrO0BWLXgm8p6pOSXJb4OgR\nMkmSVrByoSe5E/AI4AyAqvoW8K1xYkmSljVkyuW+wI3A65JcmuTVSW4/Ui5J0pKGTLnsAh4CnFlV\nFyV5JfBc4I+3DkqyF9gLsHt3v0VZV7XIYrVjLWi73Yvt3pJ1LsTbfQHgnTbm/l32vnxuFzPkCP06\n4Lqqumh+/RxmBf//VNW+qtqsqs2NjY0Bm5Mk3ZKVC72q/gX4QpIHzG96FHDFKKkkSUsb+i6XM4Gz\n5+9wuRr4teGRJEmrGFToVXUZsDlSFknSAH5SVJKasNAlqQkLXZKasNAlqQkLXZKasNAlqQkLXZKa\nsNAlqQkLXZKasNAlqQkLXZKasNAlqQkLXZKasNAlqQkLXZKaGLrAhY5gi64Luk5jZRqyBuWhMiy7\n9uUqP79Oy65ru8j9rMOhci9ye3ceoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVh\noUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDUxuNCTHJXk0iTvGiOQJGk1YxyhPxO4\ncoT7kSQNMKjQk9wL+Hng1ePEkSStaugR+iuA5wDfGSGLJGmAlReJTvILwA1VdXGSE29h3F5gL8Du\n3dNaJPdItR0LIO+kZTNN8TEsYqzHOWSx6rEWqr61PGdHmiFH6A8HHpfkGuAtwCOTvPHAQVW1r6o2\nq2pzY2NjwOYkSbdk5UKvqj+sqntV1R7gVOADVXX6aMkkSUvxfeiS1MTKc+hbVdUFwAVj3JckaTUe\noUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtSExa6JDVhoUtS\nExa6JDVhoUtSExa6JDUxygIXWmxR3kUWyu22mO6hFrRe5+Mca1tDFudeZRvLjh+yePROGpJpux/P\nOp7zMXmELklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISFLklNWOiS\n1ISFLklNWOiS1ISFLklNWOiS1MTKhZ7kuCTnJ7kyyeVJnjlmMEnScoasWHQT8KyquiTJHYGLk7y3\nqq4YKZskaQkrH6FX1Zeq6pL55X8DrgTuOVYwSdJyRllTNMke4MHARQf53l5gL8Du3etbk2+stQAP\nXLNw2fsaax3RDuuRTj3fkcL9OI7tXi90J9YjHfyiaJI7AG8DfqeqvnHg96tqX1VtVtXmxsbG0M1J\nkg5hUKEn+T5mZX52Vb19nEiSpFUMeZdLgNcAV1bVy8aLJElaxZAj9IcDTwYemeSy+dfJI+WSJC1p\n5RdFq+pDQEbMIkkawE+KSlITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITFrok\nNWGhS1ITFrokNWGhS1ITFrokNWGhS1ITqaq1bWxzc7P279+/0s8uu+DqkAVaXYRXunXZ2hGL/P0P\nGb+KJBdX1ebhxnmELklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISFLklNWOiS1ISF\nLklNWOiS1ISFLklNWOiS1ISFLklNWOiS1MSgQk9yUpJPJflskueOFUqStLyVCz3JUcCrgJ8DTgBO\nS3LCWMEkScsZcoT+48Bnq+rqqvoW8Bbg8ePEkiQta0ih3xP4wpbr181vkyTtgF0DfjYHue17VpxO\nshfYO7/6zSSfGrBNAH51tfHHAl8euu1tMNVcMN1sU80F08021VwwgWyH6JRD5lqxg4a49yKDhhT6\ndcBxW67fC/jigYOqah+wb8B2RpFk/yKrZq/bVHPBdLNNNRdMN9tUc8F0s0011y0ZMuXyUeD4JPdJ\nclvgVODccWJJkpa18hF6Vd2U5LeBvweOAl5bVZePlkyStJQhUy5U1XnAeSNl2W47Pu1zCFPNBdPN\nNtVcMN1sU80F08021VyHlKrveR1TknQE8qP/ktREq0I/3KkIkjwiySVJbkpyysSy/V6SK5J8PMn7\nkyz0NqU1ZfvNJJ9IclmSD63rE8GLnloiySlJKsna3pGwwD47I8mN8312WZLfmEKu+Zhfnv+uXZ7k\nTevItUi2JC/fsr8+neRrE8m1O8n5SS6d/32evI5cK6mqFl/MXpi9CrgvcFvgY8AJB4zZAzwI+Gvg\nlIll+2ng6PnlpwNvnVC2O225/DjgPVPINR93R+CDwIXA5oT22RnAX67rd2yJXMcDlwLHzK/fbSrZ\nDhh/JrM3Wux4LmZz6U+fXz4BuGadz+syX52O0A97KoKquqaqPg58Z4LZzq+q/5hfvZDZ+/qnku0b\nW67enoN8gGwncs39KfDnwH+tIdOy2dZtkVxPA15VVf8KUFU3TCjbVqcBb55IrgLuNL/8Axzk8zZT\n0anQp3wqgmWzPRX4u21N9H8Wypbkt5Jcxaw8nzGFXEkeDBxXVe9aQ56tFn0+f3H+v+jnJDnuIN/f\niVz3B+6f5MNJLkxy0hpyLZoNgPl0432AD0wk1wuB05Ncx+xdfWeuIddKOhX6Qqci2CELZ0tyOrAJ\nvHRbE23Z5EFu+55sVfWqqrof8AfA87c91WFyJbkN8HLgWWvIcqBF9tk7gT1V9SDgfcBZ255qsVy7\nmE27nMjsKPjVSe68zblgub/PU4Fzqup/tjHPzRbJdRrw+qq6F3Ay8Ib579/kTDLUihY6FcEOWShb\nkkcDzwMeV1X/PaVsW7wFeMK2Jpo5XK47Ag8ELkhyDfAw4Nw1vTB62H1WVV/Z8hz+FfCjU8g1H/OO\nqvp2VX0O+BSzgp9CtpudynqmW2CxXE8F/gagqj4C3I7ZeV6mZ6cn8Ud8cWMXcDWz/1W7+cWNHznE\n2Nez3hdFD5sNeDCzF2eOn9p+25oJeCywfwq5Dhh/Aet7UXSRfXb3LZefCFw4kVwnAWfNLx/LbLrh\nrlPINh/3AOAa5p+RmUIuZtOfZ8wv/zCzwl9LvqUfz04HGPnJORn49LwYnze/7U+YHfEC/Biz/yL/\nO/AV4PIJZXsfcD1w2fzr3AlleyVw+TzX+bdUrOvMdcDYtRX6gvvsxfN99rH5PvuhieQK8DLgCuAT\nwKlT2Wfz6y8EXrKuTAvusxOAD8+fy8uAn1lnvmW+/KSoJDXRaQ5dkm7VLHRJasJCl6QmLHRJasJC\nl6QmLHRJasJCVytJrpl/4la61bHQJakJC11tJHkDsBt4Z5JvJnlOkocl+cckX0vysSQnbhl/QZIX\nzb//zSTvTHLXJGcn+UaSjybZs2V8JXlGkquTfDnJS6d6kibdOvnLqDaq6snAtcBjq+oOwNnAu4EX\nAXcBfh94W5KNLT92KvBkZqdMvR/wEeB18/FXAi84YDNPZHY2zIcwO2/2r2/X45GWZaGrs9OB86rq\nvKr6TlW9F9jP7NwdN3tdVV1VVV9ndhKmq6rqfVV1E/C3zE6attWfVdVXq+pa4BXMTq0qTYKFrs7u\nDfzSfLrla/M1Kn8KuPuWMddvufyfB7l+hwPuc+tiCJ8H7jFiXmmQXTsdQBrZ1rPNfQF4Q1U9bcT7\nP47ZWRRhNl8/lXPuSx6hq53rmS34C/BG4LFJfjbJUUlul+TEJEPWa312kmPmS8o9E3jr0MDSWCx0\ndfNi4Pnz6ZVfYfbC5R8BNzI7Yn82w37v3wFczOy82O8GXjMorTQiz4cuLShJMVu96bM7nUU6GI/Q\nJakJC12SmnDKRZKa8Ahdkpqw0CWpCQtdkpqw0CWpCQtdkpqw0CWpif8F6OaDN6Nq1ysAAAAASUVO\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfe3dbe0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['temp'].values, bins= 100, kde=False)\n",
    "plt.xlabel('temp', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "体感温度的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 447,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nPrWraZO5lwIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfea0e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['atemp'].values, bins= 100, kde=False)\n",
    "plt.xlabel('atemp', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "湿度的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 448,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfa5e550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['hum'].values, bins= 100, kde=False)\n",
    "plt.xlabel('hum', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "风速的统计\n",
    "大风的情况下，用车数量少"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 449,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n+D9lSgDgUuGuBQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d3659da0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "sns.distplot(train_data['windspeed'].values, bins= 100, kde=False)\n",
    "plt.xlabel('windspeed', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.4.3 两两特征变量之间的相关性分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 450,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\njYqug2wIbcvUKOoIL2Tj38eLOsILyS7mxyEAk/wmARcjj9TF+7sy6myDjaMVmTdfK97XFAdISot9\npXaEf0b1MOrBpezs7UXS3iIbOVcUJQF4W+f2/+nc3Tqf+kE6vzvq/L6M/OeNbwMK+p8ybNB8EfSp\nHXNJkiRJkiTp1fSqXHbX0F61aS1GJ4QYDwzlyRVbJEmSJEmSJOmV8D/XOVcUZRYwq6hzSJIkSZIk\nSS/gPzpyXtRXa5EkSZIkSZIkKcf/3Mi5JEmSJEmS9B+QXXTXIjcmOXIuSZIkSZIkSa8IOXIuSZIk\nSZIkFT9yzrkkSZIkSZIkScYkR84lSZIkSZKk4keOnEuSJEmSJEmSZExy5FySJEmSJEkqdhRFjpxL\nkiRJkiRJkmREcuRckiRJkiRJKn7knHNJkiRJkiRJkoxJjpxLkiRJkiRJxc9/dORcds6fIbuYf9lA\nFHWAF5St/Df/a97iJibOt6gjvJDXa3Yp6ggvpLgfhx5kPSrqCC+suB9LK5YuW9QRXsjth/eKOoIk\nvTSycy5JRtakUb+ijvBCinvHXJIkSfpvUuTIuSRJkiRJkiS9Iv6jnXP5hVBJkiRJkiRJekXIkXNJ\nkiRJkiSp+PmPfi1NjpxLkiRJkiRJ0itCjpxLkiRJkiRJxc5/9QuhcuRckiRJkiRJkl4RcuRckiRJ\nkiRJKn7kyLkkSZIkSZIkScYkR84lSZIkSZKk4kderUWSJEmSJEmSJGOSI+eSJEmSJElSsSOv1iJJ\nkiRJkiRJklHJkXNJkiRJkiSp+JFzziVJkiRJkiRJMiY5ci5JkiRJkiQVO3LOuVSgri6OxJ4K4XRc\nGOPGfpHnfjMzM/5a8wen48I4FLaDGjWstfd9Pe5LTseFEXsqBJcuHQEoWbIkhw/6ERmxm+gTwUyZ\nPFpb//nQQZyOCyPrURJVqlQySH4XF0dOnQohPi6MsQXkX7PmD+LjwjiYK/+4cV8SHxfGqVMhdMnJ\nD3Du7BGiju8hIjyII4cDtMsnTRpFwqUIIsKDiAgPols3Z8PkjzlAXFwYY8cUkH/178TFhREWmiv/\n2C+IiwvjVMwBvfxffvkRUcf3cCJqL1999dGT/BNHceliBOHHdhF+bJdB8heWg1MbAg9tZNfRzQz5\n6oM899u1bsamPas4lXyYru4vL9eLmDhzNh3c3sFrwGdFHUVPp84diDi+m6joYEaO+jTP/WZmZixb\n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\n3qNijQVRQaV3TWKDY39/HCInqEQ4EH/v53l8vNt9d++dm73b2bnZoR7QEpgY6zUqRG/jCLRRSpV7\nPYnoC4MLSqkL5/7xeH11AsXT0xpPZ+XFtQdZWn0QR6dvpsqPxp/Cqw38kvMr9hHx5Pl7vvb7UfGl\n/FovgoonSNM0ho/qy+IFq2J6aF+ysNBT2rEEq1ZspGa15jz59yn9B/ZM0rzfRCWwDgCqtaxBoZIO\n7F66PWZZqF8wwxr2Z0D176neqhZZcyZtIzA+CaqDeMtljLlw4QoVyzekZvUWDBrci7Rp0wAQFRVF\ntcpN+bRoFcqWLcWnxYsmYc7xHxPvjnn3tpaWljRtWp9tv++JWbZ06Vo+KVaFsuXq4+cfyMyfxiYm\n/TjevzwaAf6BlClRi9pftGTMqOksWfEzmTJnjInR6/Us+3U2K5as476Xd5x9JLWEHE/vkjO3FVN+\nGcvY/lOS9BeXhIjv9V5/7wf37sqFy3/Ruls/Lly+Tp5cVuj1eqpWKMMXlcrRofdQhkycSekSxdDr\n9cmV+kcjIZ+HN2ndpSWnDp81adyniESUwcbemvwO+fmmQge+Lt8exyqOlKz4WVJn+A4JOJfp9eht\n7Ph7VD/+mTWRjH2GoDJmAiAqOIjH/b4l/PtvSFurISpr3I7C1CoKzaz/UsqHNua8r1KqZfTjfECR\n19bXAcoC56O/MNIDLz/1L4B90Y+vAc81TYtQSl0D7GPtw1XTtBAApdQfQDXgQuwX0TRtGbAMYHqB\nDu9VO3/7h5LZ+lUvbWbrHPwd8Oae1xu7zlJ/clcAbBwdKNaoArVGfEXaLBnQNI3I5xFcXOP6Pqkk\nmK+vP7a21jHPbWzz4u9v+qXq6+OPrV1efH390ev1ZMmaibDQcMqWK02z5g0ZP2koWbNmISoqimfP\nnrNrxz58ffxxi+6p3blzX7I1zkP9Q7CyftW7YGVtRVhAaJy4z6qWokWf1kxsOzpmKEtsYYFheN9+\nyCcVinPOxby9nb4+/tjZxa4Da/xerwNfY0xMHWTJTGhouEnMbfe7/PvvE4oX/4RLl67FLH/06G9O\nnviTuvWqc/PG7STJ2cfbDzu7Vzcz29pa4+sXECcmn50NPj5+6PV6smbNQmhoGN4+cbf1i9XT27Bh\nLS5dukZgrJv8Yj/+9dcN7NixJknK8ZKvjz+2sXrvbWzzxPkc+EV/Vvx8A2LqICzMWAcvXhj/v3r5\n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\nItXRZJ5zIYQQQgghhDlJz7kQQgghhEh1PtYx59I4F0IIIYQQqY72kTbOZViLEEIIIYQQHwjpORdC\nCCGEEKmO3BAq/rPSNcrw8+GFzDm2mGa9voyzvnH3Zsw8+Asz9s1l1MaJ5LTNBUBO21xM2fMz01zm\nMNN1PnXbN0i2nOvXr8lf145x48ZJhgz+Ic76NGnSsGH9Im7cOMnJE7spUMAOgBw5snFg/1ZCQ9yZ\nO3dyTHz69OnYsWMN164e5fKlQ0yZPCLZygJQpsbnLDiymEXHl/Jl79Zx1jfr3pz5hxYyZ/98Jmya\nTK7oOgAYs3Y8669tYtSqsWbPs379mvz113Fu3jjJkCFveN83LObmjZOcOvnqfQcYOrQPN2+c5K+/\njlOvXo2Y5VmzZmHz5mVcu3aMq1ePUqliWQDGjx/CRTdXLpw/gIvzRqyt8yRtWerV5NrVo9y4foLB\ng3vHW5b16xZx4/oJThzfZXIM7d+/hZDgW8ydMyneff++bSUX3Q4mab7xqVevBlevHuH69eNvLMO6\ndQu5fv04x4/vfK0MmwkOvsmcORNNtmnd2onz5/dz8eJBpkwZafYyvFSnbnXOXTyA25VD9B/YM876\nNGnS8OuaebhdOYTrkW3ky29rst7OzpqH/lfo07dbcqVsokLN8mw4vppNJ9fS/oev4qwvXbEkv+5b\nwpH7B6jZpLrJutw2ufl54wzWHV3JuiMryWuXtMd6QpWrWZZfj65g1YmVtOvdNs76khU/Y6HLAvZ6\nOvNF42om67qP7Mayg0tZcXgZvSf0Sq6UTXxWw5Gph+Yz/egCGvdqGWd9/W5OTHady8S9sxmyYRxW\nsb5Hf727lQkus5jgMou+y4cnZ9oJNnrqbKo3+YoWHb5P6VTeqFSNMsw8/As/H1uIUzx10Ki7EzMO\nzmPqvtmM2Dg+pg6sbHMxac9Mprj8zHTXudRuXz+5UxfvIckb50opF6VUtv8Qb6+U+iup80jga/9j\ntn3rdHSd1JMZnScyuO6PVGn2BbZF7ExivK7fY1TTQQxr2J8/XU7zzYjOAIQFhjHuy2GMaDyA0c2H\n0qxXK7Lnzm6uVGPodDrmzZuMU7OOlC5di3btmvNpsSImMV27fkVY+COKF6/G/PnLmRrdyHj27Dnj\nJ8xk2PC4jao5c5ZSslRNyldoSOXK5WjQoJbZy/KyPD0mf8+kzuPpW+cHqjWrjl2RfCYx967fY3CT\n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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cddacd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "datadis = data.drop(data.columns[0] , axis = 1)\n",
    "datadis.drop(datadis.columns[12:14],axis = 1,inplace=True)\n",
    "\n",
    "datadis_corr = datadis.corr().abs()\n",
    "plt.subplots(figsize=(13, 9))\n",
    "sns.heatmap(datadis_corr,annot=True)\n",
    "\n",
    "# Mask unimportant features\n",
    "sns.heatmap(datadis_corr, mask=datadis_corr < 1, cbar=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从上面的特征变量直方图统计来看， 年份、星期、月份对数据的分布影响不大，考虑可以去除这部分特征。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 459,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     season  weathersit      temp     atemp       hum  windspeed\n",
      "365       1           1  0.370000  0.375621  0.692500   0.192167\n",
      "366       1           1  0.273043  0.252304  0.381304   0.329665\n",
      "367       1           1  0.150000  0.126275  0.441250   0.365671\n",
      "368       1           2  0.107500  0.119337  0.414583   0.184700\n",
      "369       1           1  0.265833  0.278412  0.524167   0.129987\n",
      "370       1           1  0.334167  0.340267  0.542083   0.167908\n",
      "371       1           1  0.393333  0.390779  0.531667   0.174758\n",
      "372       1           1  0.337500  0.340258  0.465000   0.191542\n",
      "373       1           2  0.224167  0.247479  0.701667   0.098900\n",
      "374       1           1  0.308696  0.318826  0.646522   0.187552\n",
      "375       1           2  0.274167  0.282821  0.847500   0.131221\n",
      "376       1           2  0.382500  0.381938  0.802917   0.180967\n",
      "377       1           1  0.274167  0.249362  0.507500   0.378108\n",
      "378       1           1  0.180000  0.183087  0.457500   0.187183\n",
      "379       1           1  0.166667  0.161625  0.419167   0.251258\n",
      "380       1           1  0.190000  0.190663  0.522500   0.231358\n",
      "381       1           2  0.373043  0.364278  0.716087   0.349130\n",
      "382       1           1  0.303333  0.275254  0.443333   0.415429\n",
      "383       1           1  0.190000  0.190038  0.497500   0.220158\n",
      "384       1           2  0.217500  0.220958  0.450000   0.202750\n",
      "385       1           2  0.173333  0.174875  0.831250   0.222642\n",
      "386       1           2  0.162500  0.162250  0.796250   0.199638\n",
      "387       1           2  0.218333  0.243058  0.911250   0.110708\n",
      "388       1           1  0.342500  0.349108  0.835833   0.123767\n",
      "389       1           1  0.294167  0.294821  0.643750   0.161071\n",
      "390       1           2  0.341667  0.356050  0.769583   0.073396\n",
      "391       1           2  0.425000  0.415383  0.741250   0.342667\n",
      "392       1           1  0.315833  0.326379  0.543333   0.210829\n",
      "393       1           1  0.282500  0.272721  0.311250   0.240050\n",
      "394       1           1  0.269167  0.262625  0.400833   0.215792\n",
      "..      ...         ...       ...       ...       ...        ...\n",
      "701       4           2  0.347500  0.359208  0.823333   0.124379\n",
      "702       4           1  0.452500  0.455796  0.767500   0.082721\n",
      "703       4           1  0.475833  0.469054  0.733750   0.174129\n",
      "704       4           1  0.438333  0.428012  0.485000   0.324021\n",
      "705       4           1  0.255833  0.258204  0.508750   0.174754\n",
      "706       4           2  0.320833  0.321958  0.764167   0.130600\n",
      "707       4           2  0.381667  0.389508  0.911250   0.101379\n",
      "708       4           2  0.384167  0.390146  0.905417   0.157975\n",
      "709       4           2  0.435833  0.435575  0.925000   0.190308\n",
      "710       4           2  0.353333  0.338363  0.596667   0.296037\n",
      "711       4           2  0.297500  0.297338  0.538333   0.162937\n",
      "712       4           1  0.295833  0.294188  0.485833   0.174129\n",
      "713       4           1  0.281667  0.294192  0.642917   0.131229\n",
      "714       4           1  0.324167  0.338383  0.650417   0.106350\n",
      "715       4           2  0.362500  0.369938  0.838750   0.100742\n",
      "716       4           2  0.393333  0.401500  0.907083   0.098258\n",
      "717       4           1  0.410833  0.409708  0.666250   0.221404\n",
      "718       4           1  0.332500  0.342162  0.625417   0.184092\n",
      "719       4           2  0.330000  0.335217  0.667917   0.132463\n",
      "720       1           2  0.326667  0.301767  0.556667   0.374383\n",
      "721       1           1  0.265833  0.236113  0.441250   0.407346\n",
      "722       1           1  0.245833  0.259471  0.515417   0.133083\n",
      "723       1           2  0.231304  0.258900  0.791304   0.077230\n",
      "724       1           2  0.291304  0.294465  0.734783   0.168726\n",
      "725       1           3  0.243333  0.220333  0.823333   0.316546\n",
      "726       1           2  0.254167  0.226642  0.652917   0.350133\n",
      "727       1           2  0.253333  0.255046  0.590000   0.155471\n",
      "728       1           2  0.253333  0.242400  0.752917   0.124383\n",
      "729       1           1  0.255833  0.231700  0.483333   0.350754\n",
      "730       1           2  0.215833  0.223487  0.577500   0.154846\n",
      "\n",
      "[366 rows x 6 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n",
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "train_data.drop(train_data.columns[1:6],axis = 1, inplace= True)\n",
    "test_data.drop(test_data.columns[1:6],axis = 1, inplace= True)\n",
    "print (test_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 对类别数据进行onehot编码，并添加到原始数据集中。包括季节、天气。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 460,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "         temp     atemp       hum  windspeed  spring  summer  auto  winter  \\\n",
      "0    0.344167  0.363625  0.805833   0.160446       1       0     0       0   \n",
      "1    0.363478  0.353739  0.696087   0.248539       1       0     0       0   \n",
      "2    0.196364  0.189405  0.437273   0.248309       1       0     0       0   \n",
      "3    0.200000  0.212122  0.590435   0.160296       1       0     0       0   \n",
      "4    0.226957  0.229270  0.436957   0.186900       1       0     0       0   \n",
      "5    0.204348  0.233209  0.518261   0.089565       1       0     0       0   \n",
      "6    0.196522  0.208839  0.498696   0.168726       1       0     0       0   \n",
      "7    0.165000  0.162254  0.535833   0.266804       1       0     0       0   \n",
      "8    0.138333  0.116175  0.434167   0.361950       1       0     0       0   \n",
      "9    0.150833  0.150888  0.482917   0.223267       1       0     0       0   \n",
      "10   0.169091  0.191464  0.686364   0.122132       1       0     0       0   \n",
      "11   0.172727  0.160473  0.599545   0.304627       1       0     0       0   \n",
      "12   0.165000  0.150883  0.470417   0.301000       1       0     0       0   \n",
      "13   0.160870  0.188413  0.537826   0.126548       1       0     0       0   \n",
      "14   0.233333  0.248112  0.498750   0.157963       1       0     0       0   \n",
      "15   0.231667  0.234217  0.483750   0.188433       1       0     0       0   \n",
      "16   0.175833  0.176771  0.537500   0.194017       1       0     0       0   \n",
      "17   0.216667  0.232333  0.861667   0.146775       1       0     0       0   \n",
      "18   0.292174  0.298422  0.741739   0.208317       1       0     0       0   \n",
      "19   0.261667  0.255050  0.538333   0.195904       1       0     0       0   \n",
      "20   0.177500  0.157833  0.457083   0.353242       1       0     0       0   \n",
      "21   0.059130  0.079070  0.400000   0.171970       1       0     0       0   \n",
      "22   0.096522  0.098839  0.436522   0.246600       1       0     0       0   \n",
      "23   0.097391  0.117930  0.491739   0.158330       1       0     0       0   \n",
      "24   0.223478  0.234526  0.616957   0.129796       1       0     0       0   \n",
      "25   0.217500  0.203600  0.862500   0.293850       1       0     0       0   \n",
      "26   0.195000  0.219700  0.687500   0.113837       1       0     0       0   \n",
      "27   0.203478  0.223317  0.793043   0.123300       1       0     0       0   \n",
      "28   0.196522  0.212126  0.651739   0.145365       1       0     0       0   \n",
      "29   0.216522  0.250322  0.722174   0.073983       1       0     0       0   \n",
      "..        ...       ...       ...        ...     ...     ...   ...     ...   \n",
      "335  0.314167  0.331433  0.625833   0.100754       0       0     0       1   \n",
      "336  0.299167  0.310604  0.612917   0.095783       0       0     0       1   \n",
      "337  0.330833  0.349100  0.775833   0.083958       0       0     0       1   \n",
      "338  0.385833  0.393925  0.827083   0.062208       0       0     0       1   \n",
      "339  0.462500  0.456400  0.949583   0.232583       0       0     0       1   \n",
      "340  0.410000  0.400246  0.970417   0.266175       0       0     0       1   \n",
      "341  0.265833  0.256938  0.580000   0.240058       0       0     0       1   \n",
      "342  0.290833  0.317542  0.695833   0.082717       0       0     0       1   \n",
      "343  0.275000  0.266412  0.507500   0.233221       0       0     0       1   \n",
      "344  0.220833  0.253154  0.490000   0.066542       0       0     0       1   \n",
      "345  0.238333  0.270196  0.670833   0.063450       0       0     0       1   \n",
      "346  0.282500  0.301138  0.590000   0.140550       0       0     0       1   \n",
      "347  0.317500  0.338362  0.663750   0.060958       0       0     0       1   \n",
      "348  0.422500  0.412237  0.634167   0.268042       0       0     0       1   \n",
      "349  0.375000  0.359825  0.500417   0.260575       0       0     0       1   \n",
      "350  0.258333  0.249371  0.560833   0.243167       0       0     0       1   \n",
      "351  0.238333  0.245579  0.586250   0.169779       0       0     0       1   \n",
      "352  0.276667  0.280933  0.637500   0.172896       0       0     0       1   \n",
      "353  0.385833  0.396454  0.595417   0.061571       0       0     0       1   \n",
      "354  0.428333  0.428017  0.858333   0.221400       1       0     0       0   \n",
      "355  0.423333  0.426121  0.757500   0.047275       1       0     0       0   \n",
      "356  0.373333  0.377513  0.686250   0.274246       1       0     0       0   \n",
      "357  0.302500  0.299242  0.542500   0.190304       1       0     0       0   \n",
      "358  0.274783  0.279961  0.681304   0.155091       1       0     0       0   \n",
      "359  0.321739  0.315535  0.506957   0.239465       1       0     0       0   \n",
      "360  0.325000  0.327633  0.762500   0.188450       1       0     0       0   \n",
      "361  0.299130  0.279974  0.503913   0.293961       1       0     0       0   \n",
      "362  0.248333  0.263892  0.574167   0.119412       1       0     0       0   \n",
      "363  0.311667  0.318812  0.636667   0.134337       1       0     0       0   \n",
      "364  0.410000  0.414121  0.615833   0.220154       1       0     0       0   \n",
      "\n",
      "     sun  fog  small_snow  \n",
      "0      0    1           0  \n",
      "1      0    1           0  \n",
      "2      1    0           0  \n",
      "3      1    0           0  \n",
      "4      1    0           0  \n",
      "5      1    0           0  \n",
      "6      0    1           0  \n",
      "7      0    1           0  \n",
      "8      1    0           0  \n",
      "9      1    0           0  \n",
      "10     0    1           0  \n",
      "11     1    0           0  \n",
      "12     1    0           0  \n",
      "13     1    0           0  \n",
      "14     0    1           0  \n",
      "15     1    0           0  \n",
      "16     0    1           0  \n",
      "17     0    1           0  \n",
      "18     0    1           0  \n",
      "19     0    1           0  \n",
      "20     1    0           0  \n",
      "21     1    0           0  \n",
      "22     1    0           0  \n",
      "23     1    0           0  \n",
      "24     0    1           0  \n",
      "25     0    0           1  \n",
      "26     1    0           0  \n",
      "27     0    1           0  \n",
      "28     1    0           0  \n",
      "29     1    0           0  \n",
      "..   ...  ...         ...  \n",
      "335    1    0           0  \n",
      "336    1    0           0  \n",
      "337    1    0           0  \n",
      "338    0    1           0  \n",
      "339    0    0           1  \n",
      "340    0    0           1  \n",
      "341    1    0           0  \n",
      "342    1    0           0  \n",
      "343    1    0           0  \n",
      "344    1    0           0  \n",
      "345    1    0           0  \n",
      "346    1    0           0  \n",
      "347    0    1           0  \n",
      "348    0    1           0  \n",
      "349    0    1           0  \n",
      "350    0    1           0  \n",
      "351    1    0           0  \n",
      "352    1    0           0  \n",
      "353    0    1           0  \n",
      "354    0    1           0  \n",
      "355    0    1           0  \n",
      "356    1    0           0  \n",
      "357    1    0           0  \n",
      "358    1    0           0  \n",
      "359    1    0           0  \n",
      "360    0    1           0  \n",
      "361    1    0           0  \n",
      "362    1    0           0  \n",
      "363    1    0           0  \n",
      "364    1    0           0  \n",
      "\n",
      "[365 rows x 11 columns]\n",
      "         temp     atemp       hum  windspeed  spring  summer  auto  winter  \\\n",
      "365  0.370000  0.375621  0.692500   0.192167       1       0     0       0   \n",
      "366  0.273043  0.252304  0.381304   0.329665       1       0     0       0   \n",
      "367  0.150000  0.126275  0.441250   0.365671       1       0     0       0   \n",
      "368  0.107500  0.119337  0.414583   0.184700       1       0     0       0   \n",
      "369  0.265833  0.278412  0.524167   0.129987       1       0     0       0   \n",
      "370  0.334167  0.340267  0.542083   0.167908       1       0     0       0   \n",
      "371  0.393333  0.390779  0.531667   0.174758       1       0     0       0   \n",
      "372  0.337500  0.340258  0.465000   0.191542       1       0     0       0   \n",
      "373  0.224167  0.247479  0.701667   0.098900       1       0     0       0   \n",
      "374  0.308696  0.318826  0.646522   0.187552       1       0     0       0   \n",
      "375  0.274167  0.282821  0.847500   0.131221       1       0     0       0   \n",
      "376  0.382500  0.381938  0.802917   0.180967       1       0     0       0   \n",
      "377  0.274167  0.249362  0.507500   0.378108       1       0     0       0   \n",
      "378  0.180000  0.183087  0.457500   0.187183       1       0     0       0   \n",
      "379  0.166667  0.161625  0.419167   0.251258       1       0     0       0   \n",
      "380  0.190000  0.190663  0.522500   0.231358       1       0     0       0   \n",
      "381  0.373043  0.364278  0.716087   0.349130       1       0     0       0   \n",
      "382  0.303333  0.275254  0.443333   0.415429       1       0     0       0   \n",
      "383  0.190000  0.190038  0.497500   0.220158       1       0     0       0   \n",
      "384  0.217500  0.220958  0.450000   0.202750       1       0     0       0   \n",
      "385  0.173333  0.174875  0.831250   0.222642       1       0     0       0   \n",
      "386  0.162500  0.162250  0.796250   0.199638       1       0     0       0   \n",
      "387  0.218333  0.243058  0.911250   0.110708       1       0     0       0   \n",
      "388  0.342500  0.349108  0.835833   0.123767       1       0     0       0   \n",
      "389  0.294167  0.294821  0.643750   0.161071       1       0     0       0   \n",
      "390  0.341667  0.356050  0.769583   0.073396       1       0     0       0   \n",
      "391  0.425000  0.415383  0.741250   0.342667       1       0     0       0   \n",
      "392  0.315833  0.326379  0.543333   0.210829       1       0     0       0   \n",
      "393  0.282500  0.272721  0.311250   0.240050       1       0     0       0   \n",
      "394  0.269167  0.262625  0.400833   0.215792       1       0     0       0   \n",
      "..        ...       ...       ...        ...     ...     ...   ...     ...   \n",
      "701  0.347500  0.359208  0.823333   0.124379       0       0     0       1   \n",
      "702  0.452500  0.455796  0.767500   0.082721       0       0     0       1   \n",
      "703  0.475833  0.469054  0.733750   0.174129       0       0     0       1   \n",
      "704  0.438333  0.428012  0.485000   0.324021       0       0     0       1   \n",
      "705  0.255833  0.258204  0.508750   0.174754       0       0     0       1   \n",
      "706  0.320833  0.321958  0.764167   0.130600       0       0     0       1   \n",
      "707  0.381667  0.389508  0.911250   0.101379       0       0     0       1   \n",
      "708  0.384167  0.390146  0.905417   0.157975       0       0     0       1   \n",
      "709  0.435833  0.435575  0.925000   0.190308       0       0     0       1   \n",
      "710  0.353333  0.338363  0.596667   0.296037       0       0     0       1   \n",
      "711  0.297500  0.297338  0.538333   0.162937       0       0     0       1   \n",
      "712  0.295833  0.294188  0.485833   0.174129       0       0     0       1   \n",
      "713  0.281667  0.294192  0.642917   0.131229       0       0     0       1   \n",
      "714  0.324167  0.338383  0.650417   0.106350       0       0     0       1   \n",
      "715  0.362500  0.369938  0.838750   0.100742       0       0     0       1   \n",
      "716  0.393333  0.401500  0.907083   0.098258       0       0     0       1   \n",
      "717  0.410833  0.409708  0.666250   0.221404       0       0     0       1   \n",
      "718  0.332500  0.342162  0.625417   0.184092       0       0     0       1   \n",
      "719  0.330000  0.335217  0.667917   0.132463       0       0     0       1   \n",
      "720  0.326667  0.301767  0.556667   0.374383       1       0     0       0   \n",
      "721  0.265833  0.236113  0.441250   0.407346       1       0     0       0   \n",
      "722  0.245833  0.259471  0.515417   0.133083       1       0     0       0   \n",
      "723  0.231304  0.258900  0.791304   0.077230       1       0     0       0   \n",
      "724  0.291304  0.294465  0.734783   0.168726       1       0     0       0   \n",
      "725  0.243333  0.220333  0.823333   0.316546       1       0     0       0   \n",
      "726  0.254167  0.226642  0.652917   0.350133       1       0     0       0   \n",
      "727  0.253333  0.255046  0.590000   0.155471       1       0     0       0   \n",
      "728  0.253333  0.242400  0.752917   0.124383       1       0     0       0   \n",
      "729  0.255833  0.231700  0.483333   0.350754       1       0     0       0   \n",
      "730  0.215833  0.223487  0.577500   0.154846       1       0     0       0   \n",
      "\n",
      "     sun  fog  small_snow  \n",
      "365    1    0           0  \n",
      "366    1    0           0  \n",
      "367    1    0           0  \n",
      "368    0    1           0  \n",
      "369    1    0           0  \n",
      "370    1    0           0  \n",
      "371    1    0           0  \n",
      "372    1    0           0  \n",
      "373    0    1           0  \n",
      "374    1    0           0  \n",
      "375    0    1           0  \n",
      "376    0    1           0  \n",
      "377    1    0           0  \n",
      "378    1    0           0  \n",
      "379    1    0           0  \n",
      "380    1    0           0  \n",
      "381    0    1           0  \n",
      "382    1    0           0  \n",
      "383    1    0           0  \n",
      "384    0    1           0  \n",
      "385    0    1           0  \n",
      "386    0    1           0  \n",
      "387    0    1           0  \n",
      "388    1    0           0  \n",
      "389    1    0           0  \n",
      "390    0    1           0  \n",
      "391    0    1           0  \n",
      "392    1    0           0  \n",
      "393    1    0           0  \n",
      "394    1    0           0  \n",
      "..   ...  ...         ...  \n",
      "701    0    1           0  \n",
      "702    1    0           0  \n",
      "703    1    0           0  \n",
      "704    1    0           0  \n",
      "705    1    0           0  \n",
      "706    0    1           0  \n",
      "707    0    1           0  \n",
      "708    0    1           0  \n",
      "709    0    1           0  \n",
      "710    0    1           0  \n",
      "711    0    1           0  \n",
      "712    1    0           0  \n",
      "713    1    0           0  \n",
      "714    1    0           0  \n",
      "715    0    1           0  \n",
      "716    0    1           0  \n",
      "717    1    0           0  \n",
      "718    1    0           0  \n",
      "719    0    1           0  \n",
      "720    0    1           0  \n",
      "721    1    0           0  \n",
      "722    1    0           0  \n",
      "723    0    1           0  \n",
      "724    0    1           0  \n",
      "725    0    0           1  \n",
      "726    0    1           0  \n",
      "727    0    1           0  \n",
      "728    0    1           0  \n",
      "729    1    0           0  \n",
      "730    0    1           0  \n",
      "\n",
      "[366 rows x 11 columns]\n"
     ]
    }
   ],
   "source": [
    "season_train = pd.get_dummies(train_data['season'])\n",
    "season_train.columns = ['spring','summer','auto','winter']\n",
    "\n",
    "weathersit_train = pd.get_dummies(train_data['weathersit'])\n",
    "weathersit_train.columns = ['sun','fog','small_snow']\n",
    "\n",
    "train_data = pd.concat([train_data,season_train,weathersit_train],axis = 1)\n",
    "train_data.drop(train_data.columns[0:2], axis = 1, inplace = True)\n",
    "print(train_data)\n",
    "\n",
    "season_test = pd.get_dummies(test_data['season'])\n",
    "season_test.columns = ['spring','summer','auto','winter']\n",
    "\n",
    "weathersit_test = pd.get_dummies(test_data['weathersit'])\n",
    "weathersit_test.columns = ['sun','fog','small_snow']\n",
    "\n",
    "test_data = pd.concat([test_data,season_test,weathersit_test],axis = 1)\n",
    "test_data.drop(test_data.columns[0:2], axis = 1, inplace = True)\n",
    "print(test_data)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 对数值型数据进行归一化处理。这里采用标准化的归一处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 461,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:475: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n"
     ]
    }
   ],
   "source": [
    "# 数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "# 分别初始化对特征和目标值的标准化器\n",
    "ss_train = StandardScaler()\n",
    "ss_test = StandardScaler()\n",
    "\n",
    "train_data = ss_train.fit_transform(train_data)\n",
    "train_y = ss_train.fit_transform(train_y.reshape(-1,1))\n",
    "\n",
    "test_data = ss_test.fit_transform(test_data)\n",
    "test_y =  ss_test.fit_transform(test_y.reshape(-1,1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3、模型选择及参数调整\n",
    "\n",
    "### 3.1 岭回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 462,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is 0.703821800615\n",
      "The r2 score of RidgeCV on train is 0.801530518616\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import  RidgeCV,LassoCV\n",
    "from sklearn.metrics import r2_score  #评价回归预测模型的性能\n",
    "#设置超参数（正则参数）范围\n",
    "alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "#生成一个RidgeCV实例\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)  \n",
    "\n",
    "#模型训练\n",
    "ridge.fit(train_data, train_y)    \n",
    "\n",
    "#预测\n",
    "y_test_pred_ridge = ridge.predict(test_data)\n",
    "y_train_pred_ridge = ridge.predict(train_data)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print ('The r2 score of RidgeCV on test is', r2_score(test_y, y_test_pred_ridge))\n",
    "print ('The r2 score of RidgeCV on train is', r2_score(train_y, y_train_pred_ridge))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 463,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d37d7f28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha is: 10.0\n"
     ]
    }
   ],
   "source": [
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "plt.plot(np.log10(alphas), mse_mean.reshape(len(alphas),1)) \n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('alpha is:', ridge.alpha_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 464,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4d361bd68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在训练集上观察岭回归预测残差的分布，看是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f, ax = plt.subplots(figsize=(7, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(train_y - y_train_pred_ridge,bins=40, label='Residuals Linear', color='b', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3 Lasso回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 465,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is 0.698246507452\n",
      "The r2 score of LassoCV on train is 0.798771891141\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:1094: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "#生成一个LassoCV实例\n",
    "lasso = LassoCV()  \n",
    "#模型训练\n",
    "lasso.fit(train_data, train_y)    \n",
    "\n",
    "#预测\n",
    "y_test_pred_lasso = lasso.predict(test_data)\n",
    "y_train_pred_lasso = lasso.predict(train_data)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print ('The r2 score of LassoCV on test is', r2_score(test_y, y_test_pred_lasso))\n",
    "print ('The r2 score of LassoCV on train is', r2_score(train_y, y_train_pred_lasso))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 466,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2f4cfa44860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "alpha is: 0.023676349674\n"
     ]
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
